package DAO;

import connectDB.ConnectDB;
import java.sql.ResultSet;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class Login {

    private String EmpCode;
    private String Password;
    ConnectDB conn = new ConnectDB();

    // Connection được thiết lập khi new đối tượng Login
    public Login() {
        conn.openConnection();
    }

    public String getEmpCode() {
        return EmpCode;
    }

    public void setEmpCode(String EmpCode) {
        this.EmpCode = EmpCode;
    }

    public String getPassword() {
        return Password;
    }

    public void setPassword(String Password) {
        this.Password = Password;
    }

    public ConnectDB getConn() {
        return conn;
    }

    public void setConn(ConnectDB conn) {
        this.conn = conn;
    }

    // Kiểm tra login
    public boolean login(String EmpCode, String Password, JTextField tfEmpCode, JTextField tfPassword, JLabel label) {
        conn.openConnection();
        ResultSet rs = null;
        boolean flag = false;

        String query = "";
        query += "SELECT ";
        query += "* ";
        query += "FROM ";
        query += "EMPLOYEE_MST";
        try {
            rs = conn.excuteQuery(query); // Thực thi câu SQL và đưa record vào rs
            while (rs.next()) {
                // Kiểm tra Emp_COD và Password nhập có khớp với database hay không
                if (!EmpCode.equals(rs.getString("EMP_CODE").trim()) && !Password.equalsIgnoreCase(rs.getString("EMP_PASSWORD").trim())) {
                    label.setVisible(true);
                    label.setText("Employee Code or Password is not valid");
                    tfEmpCode.setText("");      // Xóa chuỗi trong Emp Code
                    tfEmpCode.requestFocus();   // Focus vào EmpCode texfield
                    tfPassword.setText("");     // Xóa chuỗi trong Password
                    return false;
                }
            }

        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, "Connection error", "Connect to Database", JOptionPane.ERROR_MESSAGE);
            return false;
        }
        return true;
    }
}
